// 引入系统的http包
const http = require("http");
const { login } = require("./api/user");
const { getFile } = require("./api/file");

// 使用http包下的API创建服务器实例
const server = http.createServer((req, res) => {
  // 用户访问的路径
  console.log("req.url=", req.url);
  console.log("req.method=", req.method);

  /* 在不同的URL接口下返回不同的内容 */
  // /add?a=123&b=456
  if (req.url.startsWith("/add?")) {
    // 拿到用户的查询参数a与b
    let { a, b } = getSearchParams(req.url);
    res.end(a * 1 + b * 1 + "");
  } else if (req.url.startsWith("/login?")) {
    /* 处理用户登录 */
    /* /login?username=heige&password=123456 */
    login(req, res);
  } else if (req.url.startsWith("/file/")) {
    getFile(req, res);
  } else {
    /* 其它接口 */
    res.end("hello nodejs!");
  }
});

// 将该服务器实例运行在8000下
// 端口代表当前主机中的唯一应用程序/进程
// 端口号是一个逻辑概念而非物理概念 其取值范围0~65535
// 不要使用0~1024这个范围内的端口（系统预留）
server.listen(8000, () => console.log("listening at 8000..."));
